package com.ha8.netease.models.vo
{
	import com.ha8.netease.models.WeiboModel;

	/**
	 * 用户信息的数据模型
	 * 
	 * @author rogo
	 */	
	public class UserModel extends WeiboModel
	{
		public function UserModel(data:Object)
		{
			if (!data)
				return;
			
			blocking = data.blocking as Boolean;
			created_at = new Date(data.created_at);
			description = data.description;
			email = data.email;
			favourites_count = data.favourites_count;
			followed_by = data.followed_by as Boolean;
			followers_count = data.followers_count;
			following = data.following as Boolean;
			friends_count = data.friends_count;
			gender = data.gender;
			geo_enable = data.geo_enable as Boolean;
			icorp = data.icorp;
			id = data.id;
			location = data.location;
			name = data.name;
			profile_image_url = data.profile_image_url;
			realName = data.realName;
			screen_name = data.screen_name;
			status = new MicroblogModel(data.status);
			statuses_count = data.statuses_count;
			sysTag = data.sysTag;
			url = data.url;
			userTag = data.userTag;
			verified = data.verified as Boolean;
		}
		
		private var _blocking:Boolean;
		
		[Bindable]
		
		public function get blocking():Boolean
		{
			return _blocking;
		}

		public function set blocking(value:Boolean):void
		{
			_blocking = value;
		}
		
		private var _created_at:Date;
		
		[Bindable]
		
		public function get created_at():Date
		{
			return _created_at;
		}

		public function set created_at(value:Date):void
		{
			_created_at = value;
		}
		
		private var _description:String;
		
		[Bindable]
		
		public function get description():String
		{
			return _description;
		}

		public function set description(value:String):void
		{
			_description = value;
		}
		
		private var _email:String;
		
		[Bindable]
		
		public function get email():String
		{
			return _email;
		}

		public function set email(value:String):void
		{
			_email = value;
		}
		
		private var _favourites_count:String;
		
		[Bindable]
		
		public function get favourites_count():String
		{
			return _favourites_count;
		}

		public function set favourites_count(value:String):void
		{
			_favourites_count = value;
		}
		
		private var _followed_by:Boolean;
	
		[Bindable]
		
		public function get followed_by():Boolean
		{
			return _followed_by;
		}

		public function set followed_by(value:Boolean):void
		{
			_followed_by = value;
		}
		
		private var _followers_count:String;
		
		[Bindable]
		
		public function get followers_count():String
		{
			return _followers_count;
		}

		public function set followers_count(value:String):void
		{
			_followers_count = value;
		}
		
		private var _following:Boolean;
		
		[Bindable]
		
		public function get following():Boolean
		{
			return _following;
		}

		public function set following(value:Boolean):void
		{
			_following = value;
		}
		
		private var _friends_count:String;
		
		[Bindable]
		
		public function get friends_count():String
		{
			return _friends_count;
		}

		public function set friends_count(value:String):void
		{
			_friends_count = value;
		}
		
		private var _gender:String;
		
		[Bindable]
		
		public function get gender():String
		{
			return _gender;
		}

		public function set gender(value:String):void
		{
			_gender = value;
		}
		
		private var _geo_enable:Boolean;
		
		[Bindable]
		
		public function get geo_enable():Boolean
		{
			return _geo_enable;
		}

		public function set geo_enable(value:Boolean):void
		{
			_geo_enable = value;
		}
		
		private var _icorp:String;
		
		[Bindable]
		
		public function get icorp():String
		{
			return _icorp;
		}

		public function set icorp(value:String):void
		{
			_icorp = value;
		}
		
		private var _id:String;
		
		[Bindable]
		
		public function get id():String
		{
			return _id;
		}

		public function set id(value:String):void
		{
			_id = value;
		}
		
		private var _location:String;
		
		[Bindable]
		
		public function get location():String
		{
			return _location;
		}

		public function set location(value:String):void
		{
			_location = value;
		}
		
		private var _name:String;
		
		[Bindable]
		
		public function get name():String
		{
			return _name;
		}

		public function set name(value:String):void
		{
			_name = value;
		}
		
		private var _profile_image_url:String;
		
		[Bindable]

		public function get profile_image_url():String
		{
			return _profile_image_url;
		}
		
		public function set profile_image_url(value:String):void
		{
			_profile_image_url = value;
		}

		private var _realName:String;
		
		[Bindable]
		
		public function get realName():String
		{
			return _realName;
		}

		public function set realName(value:String):void
		{
			_realName = value;
		}
		
		private var _screen_name:String;
		
		[Bindable]
		
		public function get screen_name():String
		{
			return _screen_name;
		}

		public function set screen_name(value:String):void
		{
			_screen_name = value;
		}
		
		
		private var _status:MicroblogModel;
		
		[Bindable]

		public function get status():MicroblogModel
		{
			return _status;
		}

		public function set status(value:MicroblogModel):void
		{
			_status = value;
		}

		
		private var _statuses_count:String;
		
		[Bindable]

		public function get statuses_count():String
		{
			return _statuses_count;
		}

		public function set statuses_count(value:String):void
		{
			_statuses_count = value;
		}

		
		private var _sysTag:String;
		
		[Bindable]

		public function get sysTag():String
		{
			return _sysTag;
		}

		public function set sysTag(value:String):void
		{
			_sysTag = value;
		}

		
		private var _url:String;
		
		[Bindable]

		public function get url():String
		{
			return _url;
		}

		public function set url(value:String):void
		{
			_url = value;
		}

		
		private var _userTag:String;
		
		[Bindable]

		public function get userTag():String
		{
			return _userTag;
		}

		public function set userTag(value:String):void
		{
			_userTag = value;
		}

		
		private var _verified:Boolean;

		public function get verified():Boolean
		{
			return _verified;
		}

		public function set verified(value:Boolean):void
		{
			_verified = value;
		}
		
	}
}